/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package A1;

/**
 * @author Mary Llenos
 * ProjModel class keeps all data entered by user
 * to be used by other classes for the Traffic Simulation
 *
 */
public class ProjModel {

    private int horLanes;
    private int verLanes;
    private double probCarHLane;
    private double probCarVLane;
    private int gridSize;

    /**
     * Default constructor of ProjModel
     * used for initializing all initial values of
     * instance variables needed in the Traffic Simulation
     */
    public ProjModel(){
        horLanes = 1;
        verLanes = 1;
        probCarHLane = 1;
        probCarVLane = 1;
        gridSize = 24;
    }

    /**
     * Returns number of horizontal lanes for the Grid
     *
     * @return int
     */
    public int getHorLanes() {
        return horLanes;
    }

    /**
     * Sets the number of Horizontal Lanes for the Grid
     *
     * @param new number of horizontal lanes
     */
    public void setHorLanes(int horLanes) {
        this.horLanes = horLanes;
    }

    /**
     * Returns the number of vertical lanes for the Grid
     *
     * @return int
     */
    public int getVerLanes() {
        return verLanes;
    }

    /**
     * Sets the number of vertical lanes for the Grid
     *
     * @param new number of vertical lanes
     */
    public void setVerLanes(int verLanes) {
        this.verLanes = verLanes;
    }

    /**
     * Returns the probability of new cars entering in
     * the horizontal lane
     *
     * @return double
     */
    public double getProbCarHLane() {
        return probCarHLane;
    }

    /**
     * Sets the probability of new cars in horizontal lane
     *
     * @param new probability of new cars in horizontal lane
     */
    public void setProbCarHLane(double probCarHLane) {
        this.probCarHLane = probCarHLane;
    }

    /**
     * Returns the probability of new cars entering in
     * the vertical lane
     *
     * @return double
     */
    public double getProbCarVLane() {
        return probCarVLane;
    }

    /**
     * Sets the probability of cars in the vertical lane
     *
     * @param new probability of cars in vertical lane
     */
    public void setProbCarVLane(double probCarVLane) {
        this.probCarVLane = probCarVLane;
    }

    /**
     * Returns the size of the Grid for the simulation
     *
     * @return int
     */
    public int getGridSize() { 
        return gridSize;
    }
}
